//---------------------------------------------------------------------------
#ifndef MyVLGenericFilterH
#define MyVLGenericFilterH

#include <SysUtils.hpp>
#include <syncobjs.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
#include "VLCommonFilter.h"
#include "VLGenericFilter.h"
#include "VLDSVideoPlayer.h"
//---------------------------------------------------------------------------
class PACKAGE TMyVLGenericFilter : public TVLGenericFilter
{
  private:
  protected:
	TVLDSVideoPlayer *DSPlayer;
  public:
    TEvent *OnFinished;
    TEvent *ProcessingStopped;
    bool bLastInChain; //  Letzer Filter in der Filterkette
    bool Processing; //true after processing of first frame has finished
    long ActFrame; // Frame being processed
    long FirstFrame; // First frame in processing sequence
	long LastFrame; // Last frame in processing cycle
	virtual void Initialize (long aFirstFrame, long aLastFrame);
	void SetDSPlayer (TVLDSVideoPlayer *aPlayer);
	void SetProcessingStopped (TEvent *aProcessingStopped);
	virtual __fastcall TMyVLGenericFilter(TComponent* Owner);
	virtual __fastcall ~TMyVLGenericFilter();
  __published:
};
//---------------------------------------------------------------------------
#endif
